/**
 @Name：layuiAdmin（iframe版） 广告管理
 @Author：贤心
 @Site：http://www.layui.com/admin/
 @License：LPPL
 */
layui.define(['admin', 'table', 'util','upload'], function (exports) {
    var $ = layui.$, admin = layui.admin, table = layui.table, element = layui.element, form = layui.form,util = layui.util, upload = layui.upload;
    //全部数据
    tableIn = table.render({
        elem: '#list',
        url: '/admin/ad/index',
        toolbar: '#toolbar',
        method: 'post',
        autoSort: false,
        page:true,
        cols: [[
            {checkbox: true, fixed: true},
            {field: 'id', title: 'ID', width: 80, fixed: true,sort:true},
            {field: 'title', title: '广告名称', width: 400,edit:'text'},
            {field: 'as_id', title: '所属位置', width: 200,sort:true,templet: '<div>{{d.as_title}}</div>'},
            {field: 'sort', align: 'center', title: '排序', width: 80, edit:'text',sort:true},
            {field: 'open', align: 'center', title: '状态', width: 100, toolbar: '#open'},
            {field: 'create_time', title: '添加时间',width: 180,sort:true,hide:true},
            {field: 'update_time', title: '修改时间',width: 180,sort:true},
            {width: 160, align: 'center', toolbar: '#action'}
        ]]
    });
    //监听排序事件
    table.on('sort(list)', function(obj){
        table.reload('list', {
            initSort: obj
            ,where: {sort_by: obj.field,sort_order: obj.type}
        });
    });
    //修改字段
    table.on('edit(list)', function(obj){
        var param={};
        param[obj.field] = obj.value;
        param['id'] = obj.data.id;
        cf(param);
    });
    //改变状态
    form.on('switch(open)', function (obj) {
        var param={};
        param[obj.elem.name] = obj.elem.checked===true?1:0;
        param['id'] = this.value;
        cf(param);
    });
    function cf(param){
        admin.req({
            url: '/admin/ad/cf',
            data: param,
            type:'post',
            success: function (res) {
                if(res.code==0){
                    layer.msg(res.msg,{time:1000,icon:1});
                }
                tableIn.reload();
            }
        });
    }

    //监听工具条
    table.on('tool(list)', function (obj) {
        var data = obj.data;
        var id = data.id;
        if (obj.event === 'del') {
            layer.confirm('您确定要删除该广告吗？', function () {
                admin.req({
                    url: '/admin/ad/del/'
                    , type: 'post'
                    , data: {'id': id}
                    , success: function (res) {
                        layer.closeAll('dialog');
                        if (res.code == 0) {
                            layer.msg(res.msg, {icon: 1, time: 1000}, function () {
                                obj.del();
                            });
                        }
                    }
                });
            });
        }else if (obj.event === 'edit') {
            var index = layer.open({
                type: 2,
                content: '/admin/ad/edit/id/' + id,
                area: ['300px', '300px'],
                maxmin: true
            });
            layer.full(index);
        }
    });
    //编辑提交
    form.on('submit(edit-btn)', function (data) {
        admin.req({
            url: '/admin/ad/edit/' //实际使用请改成服务端真实接口
            , type: 'post'
            , data: data.field
            , done: function (res) {
                layer.msg(res.msg, {icon: 1, time: 1000}, function () {
                    layer.closeAll("iframe");
                    //刷新父页面
                    parent.location.reload();
                });
            }
        });
    });
    //头工具栏事件
    table.on('toolbar(list)', function(obj){
        switch(obj.event){
            case 'add':
                var index = layer.open({
                    type: 2,
                    content: '/admin/ad/add/',
                    area: ['300px', '300px'],
                    maxmin: true
                });
                layer.full(index);
                break;
            case 'direct':
                var checkStatus = table.checkStatus('list'),data = checkStatus.data; //获得选中的数据
                if(data.length === 0) return layer.msg('未选中行',{icon:2});
                var ids = [];
                $.each(data, function(i,val){
                    ids[i] = val['id'];
                });
                layer.confirm('确定删除所选广告吗？', function(){
                    admin.req({
                        url: '/admin/ad/del/'
                        , type: 'post'
                        , data: {id:ids}
                        , success: function (res) {
                            layer.closeAll('dialog');
                            if(res.code==0){
                                layer.msg(res.msg, {icon: 1, time: 1000}, function () {
                                    tableIn.reload();
                                });
                            }
                        }
                    });
                });
            break;
        }
    });
    //添加提交
    form.on('submit(add-btn)', function(data){
        admin.req({
            url: '/admin/ad/add/' //实际使用请改成服务端真实接口
            , type: 'post'
            , data: data.field
            , done: function (res) {
                layer.msg(res.msg, {icon: 1, time: 1000}, function () {
                    layer.closeAll("iframe");
                    //刷新父页面
                    parent.location.reload();
                });
            }
        });
    });
    //上传图片
    var pic = $('#pic');
    upload.render({
        url: '/admin/Upfiles/upimage/'
        , elem: '#picUpload'
        , done: function (res) {
            if (res.code == 0) {
                pic.val(res.url);
                pic.parent().append('<input type="hidden" name="aid" value="'+res.aid+'">')
            } else {
                layer.msg(res.msg, {icon: 5});
            }
        }
    });
    //查看图片
    admin.events.picShow = function (othis) {
        var src = pic.val();
        layer.photos({
            photos: {
                "title": "查看图片" //相册标题
                , "data": [{
                    "src": src //原图地址
                }]
            }
            , shade: 0.01
            , closeBtn: 1
            , anim: 5
        });
    };
    admin.events.getAtta = function () {
        var that = this;
        layer.open({
            type: 2
            ,title: '图片资源'
            ,area: ['700px', '690px']
            ,shade: 0
            ,anim: 1
            ,content: '/admin/attachment/getList/'
            ,btn: ['选择','取消'] //只是为了演示
            ,yes: function(index){
                var body = layer.getChildFrame('body', index);
                var aid = body.find('.select').data('id');
                var url = body.find('.select').data('url');
                pic.val(url);
                pic.parent().find('#aid').remove();
                pic.parent().append('<input type="hidden" id="aid" name="aid" value="'+aid+'">')
                layer.close(index);
            }
            ,btn2: function(){
                layer.closeAll();
            }
            ,zIndex: layer.zIndex //重点1
            ,success: function(layero,index){
            }
        });
    };

    var active = {
        reload: function () {
            var key = $('#key').val();
            var asId = $('#asId').val();
            //执行重载
            table.reload('list', {
                page: {
                    curr: 1 //重新从第 1 页开始
                }
                , where: {key: key,asId:asId}
            });
        }
    };
    $('.table-head-btn .layui-btn').on('click', function () {
        var type = $(this).data('type');
        active[type] ? active[type].call(this) : '';
    });
    exports('ad', {});
});